Управление промокодами

PromocodeManager

Управление промокодами.

class yandex_b2b_go.promocode.PromocodeManager

Атрибут

  • PromocodeOrderManager — управление заказами промокодов.

    order: PromocodeOrderManager
    

PromocodeOrderManager

Управление заказами промокодов.

class yandex_b2b_go.promocode.PromocodeOrderManager

Атрибут

  • CodeManager — управление промокодом в заказе.

    code: CodeManager
    

Методы

  • list — получает список заказов промокодов.
  • get — получает информацию по заказу.
  • create — создает заказ на промокоды.
  • cancel — отменяет заказ на промокоды.

List

Получает список заказов промокодов.

async def list(
    limit: int, cursor: 
    Optional[str] = None
) -> PromocodeOrderListResponse

Параметры

  • limit — количество выводимых записей.
  • cursor — отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.

В случае успешного выполнения возвращает класс PromocodeOrderListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    promocode_manager = PromocodeManager(client=client)
    try:
        promocodes = await promocode_manager.order.list(limit=10)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Get

Получает информацию по заказу.

async def get(order_id: str) -> PromocodeOrderResponse

Параметр

  • order_id — идентификатор заказа.

В случае успешного выполнения возвращает класс PromocodeOrderResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    promocode_manager = PromocodeManager(client=client)
    try:
        order_info = await promocode_manager.order.get(order_id='23b...89c')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Create

Создает заказ на промокоды.

async def create(
    promocode: Promocode, 
    idempotency_token: uuid.UUID
) -> PromocodeCreateResponse

Параметры

  • promocode — информация о промокодах, класс Promocode.
  • idempotency_token — токен идемпотентности. Строка формата UUID. Одному токену идемпотентности соответствует один заказ, для нового заказа нужно сгенерировать новый токен.

В случае успешного выполнения возвращает класс PromocodeCreateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio
import uuid

from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    promocode_manager = PromocodeManager(client=client)
    try:
        promocode = typing.Promocode(
            name='Promocode',
            value=500,
            count=20,
            active_until='2025-12-31'
        )
        token = uuid.uuid4()
        order_info = await promocode_manager.order.create(
            promocode=promocode,
            idempotency_token=token,
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Cancel

Отменяет заказ на промокоды.

async def cancel(order_id: str) -> PromocodeOrderCancelResponse

Параметр

  • order_id — идентификатор заказа.

В случае успешного выполнения возвращает класс PromocodeOrderCancelResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    promocode_manager = PromocodeManager(client=client)
    try:
        cancel_status = await promocode_manager.order.cancel(order_id='23b...89c')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

CodeManager

Управление промокодом в заказе.

class yandex_b2b_go.promocode.CodeManager

Метод

  • list — получает информацию о промокодах в заказе.

List

Получает информацию о промокодах в заказе.

async def list(
    order_id: str, 
    limit: Optional[int] = None, 
    cursor: Optional[str] = None
) -> CodeListResponse

Параметры

  • order_id — идентификатор заказа.
  • limit — количество выводимых записей.
  • cursor — отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.

В случае успешного выполнения возвращает класс CodeListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    promocode_manager = PromocodeManager(client=client)
    try:
        code_info = await promocode_manager.order.code.list(order_id='23b...89c')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая